Chromedriver, чтобы нажать кнопку на веб-странице - PullRequest
0 голосов
/ 18 февраля 2019

С помощью Python и chromedriver я хочу щелкнуть по маленькому треугольнику на веб-странице (внутренней компании), которая ведет к ее "следующей странице".

Я дал long time.sleep () загрузке страницы,и попробовал либо ниже, но они все еще не работают:

chromedriver = "C:\\Python27\\Scripts\\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver

driver = webdriver.Chrome(chromedriver)
driver.maximize_window()
driver.implicitly_wait(5)

time.sleep(5)

verificationErrors = []
accept_next_alert = True

driver.get("the_website")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

time.sleep(50)

driver.find_element_by_css_selector("a[title=\'Next_page'\]").click()
# also: driver.find_element_by_xpath('//*[@id="tabs"]/div/ul/li[3]/a').click()

Ошибка говорит:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a[title="Next_page"]"}

Как правильно ее щелкнуть?Спасибо.

Информация:

Вот копии в разных формах с использованием браузера Chrome и проверенного элемента:

Наружный:

<a style="background: url('./img/next.png') center center no-repeat;" title="Next_page" href="#1" onclick="click"></a>

Селектор:

tabs > div > ul > li:nth-child(3) > a

Xpath:

//*[@id="tabs"]/div/ul/li[3]/a

Элемент:

<a style="background: url('./img/next.png') center center no-repeat;" title="Next_page" href="#1" onclick="click"></a>

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Попробуйте это:

driver.find_element_by_xpath("//a[@title = "Next_page"]").click()
0 голосов
/ 18 февраля 2019

Попробуйте xpath: driver.find_element_by_xpath("a[@title='Next_page']")

И, пожалуйста, проверьте, находится ли элемент в iframe, если да, затем переключитесь на iframe и затем нажмите кнопку, чтобы переключиться на iframe, который вы можете использовать: driver.switch_to.frame(driver.find_element_by_tag_name('iframe')), а затем нажмите на элемент, используя заданный xpath, и если вы хотите вернуться к содержимому по умолчанию, вы можете использовать driver.switch_to.default_content()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...