硒找不到元素,尽管xpath在开发人员工具中有效

时间:2020-01-02 22:24:58

标签: python selenium

我正在创建一个脚本,该脚本在登录Google后创建共享驱动器。我到达了添加成员的电子邮件,当我尝试输入电子邮件时,出现错误消息,提示以下元素不存在。如果有人知道为什么它不能正常工作,请务必让我知道,谢谢。

忘记了,xpath确实可以在开发人员工具中使用。

time.sleep(10)
enterEmails = browser.find_element_by_xpath("//input[@class='quantumWizAutocompleteInputHint exportAutocompleteInput exportAutocompleteInputHint']")
enterEmails.send_keys('example@example.com')

3 个答案:

答案 0 :(得分:0)

这是由于类名之间包含空格。

尝试以下:

enterEmails = browser.find_element_by_xpath("//input[contains(@class,'quantumWizAutocompleteInputHint exportAutocompleteInput exportAutocompleteInputHint')]")
enterEmails.send_keys('example@example.com')

答案 1 :(得分:0)

这是在当地为我工作的。

示例HTML:

<!DOCTYPE html>
<html>
	<body>
	<input class="quantumWizAutocompleteInputText exportAutocompleteInput" type="text" autocomplete="off" aria-label="members" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" role="combobox" jsname="dSO9oc" jsaction="input:YPqjbf; keydown:I481le; click:cOuCgd" autofocus="" aria-owns="nngdp22" aria-controls="nngdp22">
	
	<input class="quantumWizAutocompleteInputHint exportAutocompleteInput exportAutocompleteInputHint" disabled="true" aria-hidden="true" jsname="A51lKb" value="Add names or email addresses" dir="ltr">
</body>
</html>

xpath: //input[contains(@class,'quantumWizAutocompleteInputText')]

Python代码行:

driver.find_element_by_xpath("//input[contains(@class,'quantumWizAutocompleteInputText')]").send_keys('example@example.com')

截屏: enter image description here

答案 2 :(得分:0)

您尝试查找的元素可能在iframe中,这就是程序引发错误的原因。为此,您需要通过以下代码切换到该框架:

driver.switch_to.frame(<frame_name>)

希望这会有所帮助。