我试图用selenium和python在DOM/HTMLusingcss选择器中找到一个元素
然而,我收到一个错误,语法似乎是相同的,但它输出一个错误
代码如下:
def find_element(self):
var1, var2 = input("enter class and div (seperated by comma): ").split(',')
var_list = [var1,var2]
for x in var_list:
x.strip()
find_elem = ("{}[class*='{}']").format(var1, var2)
try:
if (self.driver.find_element_by_css_selector("{}[class*='{}']".format(var1,var2)).is_displayed()):
print('Exist')
else:
print('does not exist')
except Exception as e:
raise Exception('Not looking for element')
错误如下:
Traceback (most recent call last):
File "/home/gregory/projects/parser/Scraper1/WebGrab.py", line 55, in find_element
if (self.driver.find_element_by_css_selector("{}[class*='{}']".format(var1,var2)).is_displayed()):
File "/home/gregory/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
File "/home/gregory/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/home/gregory/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/gregory/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: div[class*='lga']
我使用google.com登录页作为测试用例:我要寻找的元素是google徽标。这是我从督察那里得到的元素。我输入“div”和“lga”作为div,lga
奖金,如果你能告诉我为什么带功能不工作
谢谢
x.strip()
不会改变x,所以需要x=x.strip()之类的东西。。但这在你的循环中是行不通的,因为改变x仍然不会改变var1,var2因此,相反,只要按照以下思路做一些事情:
快速查看google主页,我没有看到任何div类与lga类似,尽管有一个div id=lga。所以我猜为什么找不到,因为它不在那里
相关问题 更多 >
编程相关推荐