【问题标题】:Selecting element with selenium python issue选择带有 selenium python 问题的元素
【发布时间】:2020-04-01 04:07:36
【问题描述】:

我正在使用此代码,但我无法选择输入字段。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("https://10fastfingers.com/multiplayer")
input("Start : ")
a = "b"
inputfield = driver.find_element_by_xpath("//input[@type='text']")
inputfield.click()
while a == "b":
    try:
        word = driver.find_element_by_xpath("//span[@class='highlight']")
        inputfield.send_keys(word.text)
        inputfield.send_keys(Keys.SPACE)
    except:
        print("Finish")
        a = "c"

输入字段元素;

<input type="text" autofocus="autofocus" autocapitalize="none" autocorrect="off">

【问题讨论】:

    标签: python selenium selenium-webdriver xpath


    【解决方案1】:

    由于页面需要一些时间来加载,您应该在元素上应用显式等待,以便脚本等待该元素出现在页面上。
    你可以这样做:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    driver = webdriver.Chrome()
    driver.get("https://10fastfingers.com/multiplayer")
    input("Start : ")
    a = "b"
    driver.switch_to.frame(driver.find_element_by_tag_name('iframe'))
    inputfield = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//input[@type='text']")))
    inputfield.click()
    

    【讨论】:

    • 感谢您的回答,(我已经添加了等待页面加载的输入),不幸的是代码不起作用错误代码; Traceback (most recent call last): line 11, in &lt;module&gt; inputfield = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//input[@type='text']"))) line 80, in until raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message:
    • @AomineDaici 遇到了问题,您的页面上有一个 iframe,因此您需要将驱动程序切换到 iframe,然后单击该元素。修改了我的代码。请选择最新的代码
    • 您在 2 个地方输入了错误的“驱动程序”,(浏览器,20),browser.switch_to.frame,您能更正吗?
    • 非常感谢您的回答和关注
    • @AomineDaici 是的,我在那里犯了一个错误,已经更新了我的答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    相关资源
    最近更新 更多