You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium WebDriver实现点击Sony图片的技术求助

How to Click the "Sony Inc." Element with Selenium WebDriver in Python

Hey there! Since you're new to Selenium WebDriver with Python, let's break down how to get this done step by step—no jargon, just straightforward code and explanations.

First, make sure you have Selenium installed and the right web driver (like ChromeDriver for Chrome) set up. If you haven't installed Selenium yet, run this command in your terminal:

pip install selenium

Now, let's dive into the code. Based on the HTML snippet you shared, the "Sony Inc." text lives inside a <span> tag with the class largeTextNoWrap indentNonCollapsible. Here are a few reliable ways to target and click this element:

Method 1: Locate by Exact Text Match

This is the simplest approach if the text "Sony Inc." is unique on the page. We'll use XPath to target the span with that exact text, plus a wait to make sure the element is ready to click:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Initialize Chrome driver (replace with your driver path if it's not in your system PATH)
driver = webdriver.Chrome()

# Navigate to the page where the Sony element lives
driver.get("https://your-target-page-url.com")  # Replace with your actual URL

# Wait up to 10 seconds for the element to be clickable (avoids errors on slow pages)
sony_element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//span[text()='Sony Inc.']"))
)

# Click the element to trigger the login page
sony_element.click()

# Optional: Add your login page handling code here once it loads
# ...

# Don't forget to close the driver when you're done
driver.quit()

Method 2: Narrow It Down with Class + Text

If there are multiple spans with the same class, we can combine the class attribute and text to be more specific:

# Target span with both the correct class and text
sony_element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//span[@class='largeTextNoWrap indentNonCollapsible' and text()='Sony Inc.']"))
)
sony_element.click()

Method 3: Target via Parent Div

Since the span is inside a div with class idpDescription float, we can target the parent first to zero in on the right element:

# Find the parent div, then its child span with the Sony text
sony_element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//div[@class='idpDescription float']/span[text()='Sony Inc.']"))
)
sony_element.click()

Quick Beginner Tip

Always use WebDriverWait instead of time.sleep()—it's smarter because it waits only until the element is ready to interact with, rather than wasting time on fixed delays. This helps avoid "element not found" errors on slow-loading pages.

If you run into issues, double-check:

  • Your target URL is correct
  • The element's text or class hasn't changed (use your browser's dev tools to inspect it again)
  • Your web driver version matches your browser version

内容的提问来源于stack exchange,提问作者RJA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:41:15