Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium Python覆盖表单并通过Xpath查找和发送值_Python_Selenium_Xpath - Fatal编程技术网

Selenium Python覆盖表单并通过Xpath查找和发送值

Selenium Python覆盖表单并通过Xpath查找和发送值,python,selenium,xpath,Python,Selenium,Xpath,使用Selenium Python: 我有一个覆盖形式,其中有一个电子邮件文本形式。我正在使用以下代码访问覆盖表单(工作正常),然后识别电子邮件地址文本框,但没有在电子邮件文本框中填入我希望填入的值。这是我正在使用的代码 browser.switch_to_frame('loginModel') browser.find_element_by_xpath( "//*[@id='loginboxif']h1").send_keys('abcd@rediffmail.com') 这就是错误

使用Selenium Python:
我有一个覆盖形式,其中有一个电子邮件文本形式。我正在使用以下代码访问覆盖表单(工作正常),然后识别电子邮件地址文本框,但没有在电子邮件文本框中填入我希望填入的值。这是我正在使用的代码

browser.switch_to_frame('loginModel')
browser.find_element_by_xpath(
    "//*[@id='loginboxif']h1").send_keys('abcd@rediffmail.com')
这就是错误所在

 line 10, in <module>
    browser.find_element_by_xpath("//*[@id='loginboxif']/h1").send_keys('abcd@rediffmail.com')
  File "C:\Python27\lib\selenium\webdriver\remote\webdriver.py", line 221, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
第10行,在
浏览器。通过xpath(“/*[@id='loginboxif']/h1”)查找元素。发送关键字('abcd@rediffmail.com')
文件“C:\Python27\lib\selenium\webdriver\remote\webdriver.py”,第221行,按xpath查找元素
返回self.find_元素(by=by.XPATH,value=XPATH)
不是有效的XPath查询。这是你的问题。根据您正在尝试的操作,您可能需要:

//*[@id='loginboxif']//h1
同样地:

find_element_by_class_name('input-text email required')

不允许使用复合类名称。

我在您发布的html中找不到“h1”。那么为什么要在xpath中引用它呢

您可以简单地执行以下操作:

browser.find_element_by_id('dwfrm_login_username').send_keys('abcd@rediffmail.com')


希望有帮助

我还尝试了以下操作,但再次出错:browser.find_element_by_class_name('input-text email required')。send_key('abcd@rediffmail.com'). 它给出了错误asrowser.find_element_by_class_name('input-text email required')。send_key('mailme')。test3@rediffmail.com“)文件“C:\Python27\lib\selenium\webdriver\remote\webdriver.py”,第341行,在find_element_by_class_name返回self.find_element(by=by.class_name,value=name)文件中“C:\Python27\lib\selenium\webdriver\remote\webdriver.py”,第681行,在find_元素{'using':by,'value':value})['value']中,请发布完整的错误以及电子邮件地址文本框的html。错误如下:-回溯(最后一次调用):文件“C:/Python27/Off5th_Registration”,第25行,在浏览器中。find_元素_by_class_name(“需要输入文本电子邮件”)。发送密钥('abcd@rediffmail.com“)文件“C:\Python27\lib\selenium\webdriver\remote\webdriver.py”,第341行,按类名称查找元素,返回self.find元素(by=by.class\u name,value=name)文件“C:\Python27\lib\selenium\webdriver\remote\webdriver.py”,第681行,查找元素{'using':by'value':value})['value']\HTML作为电子邮件地址,谢谢,这很有帮助!!
browser.find_element_by_id('dwfrm_login_username').send_keys('abcd@rediffmail.com')
browser.find_element_by_name('dwfrm_login_username).send_keys('abcd@rediffmail.com')