重新显示硒元素后元素的位置正在改变
position of element is changing after re-showing selenium element
我正在对作者和锚标签执行相同的操作
查找元素的代码
element = driver.find_element('class_name','author')
隐藏元素的代码
driver.execute_script("arguments[0].style.display = 'None';", element)
显示元素的代码
driver.execute_script("arguments[0].style.display = 'block';", element)
问题
为什么在重新显示相同元素后作者姓名和关于元素位置发生变化?
网站 Link:https://quotes.toscrape.com/
作者姓名和正文link“about”在不同的两行中指定。我建议尝试隐藏整个 span
而不是仅仅使用 class 名称隐藏作者的行
同样的 Xpath 将是 xpath = "/html/body/div/div[2]/div[1]/div[1]/span[2]"
如果要保留文本“by”,则尝试指定单独的变量来查找两行的元素和hide/unhide他们单独。这不应改变 html 元素的结构。
试试这个,如果有效请告诉我。
https://www.w3schools.com/cssref/pr_class_display.asp
block 在下一行显示元素。完全删除 属性 或使用内联
driver.execute_script("arguments[0].style.display = undefined;", element)
或
driver.execute_script("arguments[0].style.display = 'inline';", element)
我正在对作者和锚标签执行相同的操作
查找元素的代码
element = driver.find_element('class_name','author')
隐藏元素的代码
driver.execute_script("arguments[0].style.display = 'None';", element)
显示元素的代码
driver.execute_script("arguments[0].style.display = 'block';", element)
问题 为什么在重新显示相同元素后作者姓名和关于元素位置发生变化?
网站 Link:https://quotes.toscrape.com/
作者姓名和正文link“about”在不同的两行中指定。我建议尝试隐藏整个 span
而不是仅仅使用 class 名称隐藏作者的行
同样的 Xpath 将是 xpath = "/html/body/div/div[2]/div[1]/div[1]/span[2]"
如果要保留文本“by”,则尝试指定单独的变量来查找两行的元素和hide/unhide他们单独。这不应改变 html 元素的结构。
试试这个,如果有效请告诉我。
https://www.w3schools.com/cssref/pr_class_display.asp
block 在下一行显示元素。完全删除 属性 或使用内联
driver.execute_script("arguments[0].style.display = undefined;", element)
或
driver.execute_script("arguments[0].style.display = 'inline';", element)