我正在创建一个脚本,该脚本在登录Google后创建共享驱动器。我到达了添加成员的电子邮件,当我尝试输入电子邮件时,出现错误消息,提示以下元素不存在。如果有人知道为什么它不能正常工作,请务必让我知道,谢谢。
忘记了,xpath确实可以在开发人员工具中使用。
time.sleep(10)
enterEmails = browser.find_element_by_xpath("//input[@class='quantumWizAutocompleteInputHint exportAutocompleteInput exportAutocompleteInputHint']")
enterEmails.send_keys('example@example.com')
答案 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')
答案 2 :(得分:0)
您尝试查找的元素可能在iframe中,这就是程序引发错误的原因。为此,您需要通过以下代码切换到该框架:
driver.switch_to.frame(<frame_name>)
希望这会有所帮助。