我想验证一个元素并检查它是否存在。我尝试了许多代码,但都出错了。我已经尝试过使用“ if driver.find ...”,但是出现错误。有没有办法验证元素没有错误?我用硒。
我已经尝试过了:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
driver = webdriver.Firefox()
driver.get("https://www.instagram.com/accounts/login/")
def check_exists_by_xpath(xpath):
try:
webdriver.find_element_by_xpath("//input[@name='username']")
print ("Alert")
raw_input("")
except NoSuchElementException:
print ("Nothing")
raw_input("")
我知道了:
>>> from selenium import webdriver
>>> from selenium.webdriver.common.keys import Keys
>>> from selenium.common.exceptions import NoSuchElementException
>>>
>>> driver = webdriver.Firefox()
>>> driver.get("https://www.instagram.com/accounts/login/")
>>>
>>> def check_exists_by_xpath(xpath):
... try:
... webdriver.find_element_by_xpath("//input[@name='username']")
... print ("Alert")
File "<stdin>", line 4
print ("Alert")
^
IndentationError: unexpected unindent
>>> raw_input("")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> except NoSuchElementException:
File "<stdin>", line 1
except NoSuchElementException:
^
IndentationError: unexpected indent
>>> print ("Nothing")
File "<stdin>", line 1
print ("Nothing")
^
IndentationError: unexpected indent
>>> raw_input("")
答案 0 :(得分:0)
您可以通过检查size
的{{1}}中的list
来实现,如果大小大于0,则表示该元素存在于页面上,否则不存在礼物。
您的代码应类似于:
WebElements