我有一个问题,我碰巧有一个带有这些标签的按钮,我正试图点击Selenium,但我找不到点击它的方法。我试图把它作为参考XPath,链接文本和CSS选择器,但我没有实现我的目标。这是按钮的代码:
<a class="btn btn-flat pull-right" data-action="export_report"> <i class = "icon-export"> </ i> Export </a>
XPath以东:
// * [@ id = "reports"] / div [1] / div [2] / a
这个选择器:
#reports> div.span12> div.headline-action-block.pull-right> a
这是Python中的按钮和我的代码:(
按钮:
我的代码:
我遇到此错误:
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 955, in find_element
'value': value})['value']
答案 0 :(得分:0)
你可以试试这个:
openrate = driver.find_element_by_css_selector("a.btn")
openrate.click()
假设这是唯一的按钮,或页面上的第一个按钮。否则("a.btn.btn-flat.pull-right")
答案 1 :(得分:0)
根据您分享的HTML,您似乎已在上一步骤中调用了click()
,因此在此步骤中,{>> 1}}按钮上的文字为导出诱导 WebDriverwait 以使元素可点击,您可以使用以下任一定位策略:
PARTIAL_LINK_TEXT :
click()
CSS_SELECTOR :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# lines of code
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Export"))).click()
XPATH :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# lines of code
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.btn.btn-flat.pull-right[data-action='export_report']>i.icon-export"))).click()